package com.example.housingRentalSystem.service;

import com.example.housingRentalSystem.bean.Order;
import com.example.housingRentalSystem.utils.PageRequest;
import com.example.housingRentalSystem.utils.PageResponse;

import java.util.Date;
import java.util.List;

/**
 * @author 王硕
 * @version jdk21
 * @className OrderService
 * @description
 * @date 2025/3/22 17:42
 */
public interface OrderService {

    Order createOrder(Order order);

    void processPayment(Integer orderId,Integer houseId);

    void confirmOrder(Integer orderId);

    void cancelOrder(Integer orderId, String reason);

    void  agreeOrder(Integer orderId);

    void refuseOrder(Integer orderId, String refusalReason);

    PageResponse<Order> searchOrders(Integer customerId, Integer ownerId,
                                     Integer houseId, Integer status, PageRequest pageRequest);

    Order getOrderById(Integer id);

    void refuseOrder(Integer orderId);
}
